<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irrXML.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('irr_x_m_l_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">irrXML.h</div>  </div>
</div>
<div class="contents">
<a href="irr_x_m_l_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright (C) 2002-2012 Nikolaus Gebhardt</span>
<a name="l00002"></a>00002 <span class="comment">// This file is part of the &quot;Irrlicht Engine&quot; and the &quot;irrXML&quot; project.</span>
<a name="l00003"></a>00003 <span class="comment">// For conditions of distribution and use, see copyright notice in irrlicht.h and/or irrXML.h</span>
<a name="l00004"></a>00004 
<a name="l00005"></a>00005 <span class="preprocessor">#ifndef __IRR_XML_H_INCLUDED__</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#define __IRR_XML_H_INCLUDED__</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &quot;<a class="code" href="_irr_compile_config_8h.html">IrrCompileConfig.h</a>&quot;</span>
<a name="l00010"></a>00010 
<a name="l00153"></a>00153 <span class="keyword">namespace </span>irr
<a name="l00154"></a>00154 {
<a name="l00155"></a>00155 <span class="keyword">namespace </span>io
<a name="l00156"></a>00156 {
<a name="l00158"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d">00158</a>     <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d" title="Enumeration of all supported source text file formats.">ETEXT_FORMAT</a>
<a name="l00159"></a>00159     {
<a name="l00161"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9daa83b76584091bdef7401e2e7c27837bf">00161</a>         <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9daa83b76584091bdef7401e2e7c27837bf" title="ASCII, file without byte order mark, or not a text file.">ETF_ASCII</a>,
<a name="l00162"></a>00162 
<a name="l00164"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9dae9766ce8a50bc70e144a7b0cc96ba8db">00164</a>         <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9dae9766ce8a50bc70e144a7b0cc96ba8db" title="UTF-8 format.">ETF_UTF8</a>,
<a name="l00165"></a>00165 
<a name="l00167"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9da5c0685f21f600ba0acdd84bae458ee5c">00167</a>         <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9da5c0685f21f600ba0acdd84bae458ee5c" title="UTF-16 format, big endian.">ETF_UTF16_BE</a>,
<a name="l00168"></a>00168 
<a name="l00170"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9da331a03a8d3459ad9a05d31dee38a8a73">00170</a>         <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9da331a03a8d3459ad9a05d31dee38a8a73" title="UTF-16 format, little endian.">ETF_UTF16_LE</a>,
<a name="l00171"></a>00171 
<a name="l00173"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9daa550dbb5ed61125ff6a12a9a50e4e7b1">00173</a>         <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9daa550dbb5ed61125ff6a12a9a50e4e7b1" title="UTF-32 format, big endian.">ETF_UTF32_BE</a>,
<a name="l00174"></a>00174 
<a name="l00176"></a><a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9da122cd8cec108b4e5a4040f1a9bcc6709">00176</a>         <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9da122cd8cec108b4e5a4040f1a9bcc6709" title="UTF-32 format, little endian.">ETF_UTF32_LE</a>
<a name="l00177"></a>00177     };
<a name="l00178"></a>00178 
<a name="l00179"></a>00179 
<a name="l00181"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33ed">00181</a>     <span class="keyword">enum</span> <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33ed" title="Enumeration for all xml nodes which are parsed by IrrXMLReader.">EXML_NODE</a>
<a name="l00182"></a>00182     {
<a name="l00184"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edaa7f8e643a481d9c8b75a25499f40235c">00184</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edaa7f8e643a481d9c8b75a25499f40235c" title="No xml node. This is usually the node if you did not read anything yet.">EXN_NONE</a>,
<a name="l00185"></a>00185 
<a name="l00187"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33eda9df4f5baccc23a0ad1f6fa64d8de2fc0">00187</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33eda9df4f5baccc23a0ad1f6fa64d8de2fc0" title="An xml element such as &lt;foo&gt;.">EXN_ELEMENT</a>,
<a name="l00188"></a>00188 
<a name="l00190"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33eda54ef1997279f08180634f4a897f771b8">00190</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33eda54ef1997279f08180634f4a897f771b8" title="End of an xml element such as &lt;/foo&gt;.">EXN_ELEMENT_END</a>,
<a name="l00191"></a>00191 
<a name="l00194"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33eda0edf973f8ca0f6097f69369539d432a4">00194</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33eda0edf973f8ca0f6097f69369539d432a4">EXN_TEXT</a>,
<a name="l00195"></a>00195 
<a name="l00197"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edadc47ef6b25afabf76ff3acea8fea2680">00197</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edadc47ef6b25afabf76ff3acea8fea2680" title="An xml comment like &lt;!-- I am a comment --&gt; or a DTD definition.">EXN_COMMENT</a>,
<a name="l00198"></a>00198 
<a name="l00200"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edaabb26cfe097fadf64c45db0f76523ac6">00200</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edaabb26cfe097fadf64c45db0f76523ac6" title="An xml cdata section like &lt;![CDATA[ this is some CDATA ]]&gt;.">EXN_CDATA</a>,
<a name="l00201"></a>00201 
<a name="l00203"></a><a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edaf80bf58165975de0e7a7c28882906865">00203</a>         <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33edaf80bf58165975de0e7a7c28882906865" title="Unknown element.">EXN_UNKNOWN</a>
<a name="l00204"></a>00204     };
<a name="l00205"></a>00205 
<a name="l00207"></a>00207 
<a name="l00214"></a><a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html">00214</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html" title="Callback class for file read abstraction.">IFileReadCallBack</a>
<a name="l00215"></a>00215     {
<a name="l00216"></a>00216     <span class="keyword">public</span>:
<a name="l00217"></a>00217 
<a name="l00219"></a><a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html#a91ace84f0a3966d88d78da5342eb9619">00219</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html#a91ace84f0a3966d88d78da5342eb9619" title="Destructor.">~IFileReadCallBack</a>() {}
<a name="l00220"></a>00220 
<a name="l00222"></a>00222 
<a name="l00225"></a>00225         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html#ae8c57b8454078aa2acd39772a6aa4439" title="Reads an amount of bytes from the file.">read</a>(<span class="keywordtype">void</span>* buffer, <span class="keywordtype">int</span> sizeToRead) = 0;
<a name="l00226"></a>00226 
<a name="l00228"></a>00228         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html#aba9a5b45e5cdead9fb12def3069bd0ec" title="Returns size of file in bytes.">getSize</a>() <span class="keyword">const</span> = 0;
<a name="l00229"></a>00229     };
<a name="l00230"></a>00230 
<a name="l00232"></a>00232 
<a name="l00237"></a><a class="code" href="classirr_1_1io_1_1_i_x_m_l_base.html">00237</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1io_1_1_i_x_m_l_base.html" title="Empty class to be used as parent class for IrrXMLReader.">IXMLBase</a>
<a name="l00238"></a>00238     {
<a name="l00239"></a>00239     };
<a name="l00240"></a>00240 
<a name="l00242"></a>00242 
<a name="l00274"></a>00274     <span class="keyword">template</span>&lt;<span class="keyword">class</span> <span class="keywordtype">char</span>_type, <span class="keyword">class</span> super_<span class="keyword">class</span>&gt;
<a name="l00275"></a><a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html">00275</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IIrrXMLReader</a> : <span class="keyword">public</span> super_class
<a name="l00276"></a>00276     {
<a name="l00277"></a>00277     <span class="keyword">public</span>:
<a name="l00278"></a>00278 
<a name="l00280"></a><a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#ad1d9faeae926afc224d9dea0ad7a08ac">00280</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#ad1d9faeae926afc224d9dea0ad7a08ac" title="Destructor.">~IIrrXMLReader</a>() {}
<a name="l00281"></a>00281 
<a name="l00283"></a>00283 
<a name="l00284"></a>00284         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a157f458f7dabeeff173f72a0fb443a8e" title="Reads forward to the next xml node.">read</a>() = 0;
<a name="l00285"></a>00285 
<a name="l00287"></a>00287         <span class="keyword">virtual</span> <a class="code" href="namespaceirr_1_1io.html#a86a02676c9cbb822e04d60c81b4f33ed" title="Enumeration for all xml nodes which are parsed by IrrXMLReader.">EXML_NODE</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a3482e8e6bdc15965fc6a0bcef6e9a8e0" title="Returns the type of the current XML node.">getNodeType</a>() <span class="keyword">const</span> = 0;
<a name="l00288"></a>00288 
<a name="l00290"></a>00290 
<a name="l00293"></a>00293         <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a8f85253d2efb15061facdb9571b9c549" title="Returns attribute count of the current XML node.">getAttributeCount</a>() <span class="keyword">const</span> = 0;
<a name="l00294"></a>00294 
<a name="l00296"></a>00296 
<a name="l00298"></a>00298         <span class="keyword">virtual</span> <span class="keyword">const</span> char_type* <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#aa0807dc565c67fcf355e656df1a326ef" title="Returns name of an attribute.">getAttributeName</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span> = 0;
<a name="l00299"></a>00299 
<a name="l00301"></a>00301 
<a name="l00303"></a>00303         <span class="keyword">virtual</span> <span class="keyword">const</span> char_type* <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a41bd71a1b9d4a80cd1d0257dedb35325" title="Returns the value of an attribute.">getAttributeValue</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span> = 0;
<a name="l00304"></a>00304 
<a name="l00306"></a>00306 
<a name="l00308"></a>00308         <span class="keyword">virtual</span> <span class="keyword">const</span> char_type* <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a41bd71a1b9d4a80cd1d0257dedb35325" title="Returns the value of an attribute.">getAttributeValue</a>(<span class="keyword">const</span> char_type* name) <span class="keyword">const</span> = 0;
<a name="l00309"></a>00309 
<a name="l00311"></a>00311 
<a name="l00315"></a>00315         <span class="keyword">virtual</span> <span class="keyword">const</span> char_type* <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a7674852b2e24b2710b90aab10ef1fc22" title="Returns the value of an attribute in a safe way.">getAttributeValueSafe</a>(<span class="keyword">const</span> char_type* name) <span class="keyword">const</span> = 0;
<a name="l00316"></a>00316 
<a name="l00318"></a>00318 
<a name="l00321"></a>00321         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#ab37bef58865355a7dba0011a38e6c8e7" title="Returns the value of an attribute as integer.">getAttributeValueAsInt</a>(<span class="keyword">const</span> char_type* name) <span class="keyword">const</span> = 0;
<a name="l00322"></a>00322 
<a name="l00324"></a>00324 
<a name="l00327"></a>00327         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#ab37bef58865355a7dba0011a38e6c8e7" title="Returns the value of an attribute as integer.">getAttributeValueAsInt</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span> = 0;
<a name="l00328"></a>00328 
<a name="l00330"></a>00330 
<a name="l00333"></a>00333         <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a2b1032f213e9910827842f6057269235" title="Returns the value of an attribute as float.">getAttributeValueAsFloat</a>(<span class="keyword">const</span> char_type* name) <span class="keyword">const</span> = 0;
<a name="l00334"></a>00334 
<a name="l00336"></a>00336 
<a name="l00339"></a>00339         <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a2b1032f213e9910827842f6057269235" title="Returns the value of an attribute as float.">getAttributeValueAsFloat</a>(<span class="keywordtype">int</span> idx) <span class="keyword">const</span> = 0;
<a name="l00340"></a>00340 
<a name="l00342"></a>00342 
<a name="l00344"></a>00344         <span class="keyword">virtual</span> <span class="keyword">const</span> char_type* <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a7d745b130c895d0f910f191d04e20e87" title="Returns the name of the current node.">getNodeName</a>() <span class="keyword">const</span> = 0;
<a name="l00345"></a>00345 
<a name="l00347"></a>00347 
<a name="l00349"></a>00349         <span class="keyword">virtual</span> <span class="keyword">const</span> char_type* <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#aecbe0698e8f9acf88e27dd53da984210" title="Returns data of the current node.">getNodeData</a>() <span class="keyword">const</span> = 0;
<a name="l00350"></a>00350 
<a name="l00352"></a>00352         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a3c85b144e0376c9ff90bce1bbbc338a9" title="Returns if an element is an empty element, like &lt;foo /&gt;">isEmptyElement</a>() <span class="keyword">const</span> = 0;
<a name="l00353"></a>00353 
<a name="l00355"></a>00355 
<a name="l00359"></a>00359         <span class="keyword">virtual</span> <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d" title="Enumeration of all supported source text file formats.">ETEXT_FORMAT</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a00998ef2d3a562d6b2b8302c3430322d" title="Returns format of the source xml file.">getSourceFormat</a>() <span class="keyword">const</span> = 0;
<a name="l00360"></a>00360 
<a name="l00362"></a>00362 
<a name="l00366"></a>00366         <span class="keyword">virtual</span> <a class="code" href="namespaceirr_1_1io.html#ac7e51e5a6bd00451dec248f497b16a9d" title="Enumeration of all supported source text file formats.">ETEXT_FORMAT</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html#a9af7e323c292a4836bf4a7c093b4d85a" title="Returns format of the strings returned by the parser.">getParserFormat</a>() <span class="keyword">const</span> = 0;
<a name="l00367"></a>00367     };
<a name="l00368"></a>00368 
<a name="l00369"></a>00369 
<a name="l00370"></a>00370     <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
<a name="l00371"></a><a class="code" href="structirr_1_1io_1_1xml_char.html">00371</a>     <span class="keyword">struct </span><a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar</a>
<a name="l00372"></a>00372     {
<a name="l00373"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">00373</a>         T <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>;
<a name="l00374"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#ad50bb33ca29a288a08b3c041876573c4">00374</a>         <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>() {}
<a name="l00375"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a7e2e2fb1c425f31ce60a61b4c516d13f">00375</a>         <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">char</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00376"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a577cfdfe6ddfa4e37a55804ea054885c">00376</a>         <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">wchar_t</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00377"></a>00377 <span class="preprocessor">#if defined(__BORLANDC__)</span>
<a name="l00378"></a>00378 <span class="preprocessor"></span>        <span class="comment">// Note - removing explicit for borland was to get it to even compile.</span>
<a name="l00379"></a>00379         <span class="comment">// There haven&#39;t been any kind of tests for that besides that.</span>
<a name="l00380"></a>00380         <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00381"></a>00381         xmlChar&lt;T&gt;(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00382"></a>00382         xmlChar&lt;T&gt;(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00383"></a>00383         xmlChar&lt;T&gt;(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00384"></a>00384 <span class="preprocessor">#else </span>
<a name="l00385"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a4f9f63293cadcd44c7cd8bc7e1a098f7">00385</a> <span class="preprocessor"></span>        <span class="keyword">explicit</span> <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00386"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a2339ce7c1d201c397805a37f47589efa">00386</a>         <span class="keyword">explicit</span> <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00387"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a54a243bd9821e6677d9be9106deaf0cf">00387</a>         <span class="keyword">explicit</span> <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00388"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#ae7474c9384d8807f8fcd029cc238e2c2">00388</a>         <span class="keyword">explicit</span> <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;T&gt;</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> in) : <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>(static_cast&lt;T&gt;(in)) {}
<a name="l00389"></a>00389 <span class="preprocessor">#endif</span>
<a name="l00390"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#a676ddac484d71f58c34498bf2d71bcf7">00390</a> <span class="preprocessor"></span>        <a class="code" href="structirr_1_1io_1_1xml_char.html#a676ddac484d71f58c34498bf2d71bcf7">operator T</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>; }
<a name="l00391"></a><a class="code" href="structirr_1_1io_1_1xml_char.html#ab89d0f74b935fb69090c5da5e504e78b">00391</a>         <span class="keywordtype">void</span> <a class="code" href="structirr_1_1io_1_1xml_char.html#ab89d0f74b935fb69090c5da5e504e78b">operator=</a>(<span class="keywordtype">int</span> t) { <a class="code" href="structirr_1_1io_1_1xml_char.html#a1d4bf8ca9981f09e1390798cde13262c">c</a>=<span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(t); }
<a name="l00392"></a>00392     };
<a name="l00393"></a>00393 
<a name="l00395"></a>00395 
<a name="l00397"></a><a class="code" href="namespaceirr_1_1io.html#a9140fe380f1a4e2fb4e114463e2d2838">00397</a>     <span class="keyword">typedef</span> <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;unsigned short&gt;</a> <a class="code" href="namespaceirr_1_1io.html#a9140fe380f1a4e2fb4e114463e2d2838" title="defines the utf-16 type.">char16</a>;
<a name="l00398"></a>00398 
<a name="l00400"></a>00400 
<a name="l00402"></a><a class="code" href="namespaceirr_1_1io.html#adfbb5748d02235670728f95ab89b69a4">00402</a>     <span class="keyword">typedef</span> <a class="code" href="structirr_1_1io_1_1xml_char.html">xmlChar&lt;unsigned int&gt;</a> <a class="code" href="namespaceirr_1_1io.html#adfbb5748d02235670728f95ab89b69a4" title="defines the utf-32 type.">char32</a>;
<a name="l00403"></a>00403 
<a name="l00405"></a>00405 
<a name="l00410"></a><a class="code" href="namespaceirr_1_1io.html#a1628edbb9d5d53f18c82d2a92b0ad27e">00410</a>     <span class="keyword">typedef</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IIrrXMLReader&lt;char, IXMLBase&gt;</a> <a class="code" href="namespaceirr_1_1io.html#a1628edbb9d5d53f18c82d2a92b0ad27e" title="A UTF-8 or ASCII character xml parser.">IrrXMLReader</a>;
<a name="l00411"></a>00411 
<a name="l00413"></a>00413 
<a name="l00418"></a><a class="code" href="namespaceirr_1_1io.html#a5eb4094dfd0d509e0cd8a9d1dd30a5b9">00418</a>     <span class="keyword">typedef</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IIrrXMLReader&lt;char16, IXMLBase&gt;</a> <a class="code" href="namespaceirr_1_1io.html#a5eb4094dfd0d509e0cd8a9d1dd30a5b9" title="A UTF-16 xml parser.">IrrXMLReaderUTF16</a>;
<a name="l00419"></a>00419 
<a name="l00421"></a>00421 
<a name="l00426"></a><a class="code" href="namespaceirr_1_1io.html#a70f411ff403636fb5c4e9becb090d5ec">00426</a>     <span class="keyword">typedef</span> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IIrrXMLReader&lt;char32, IXMLBase&gt;</a> <a class="code" href="namespaceirr_1_1io.html#a70f411ff403636fb5c4e9becb090d5ec" title="A UTF-32 xml parser.">IrrXMLReaderUTF32</a>;
<a name="l00427"></a>00427 
<a name="l00428"></a>00428 
<a name="l00430"></a>00430 
<a name="l00438"></a>00438     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReader</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#a581f4d4648398759c61266d63d7106b1" title="Creates an instance of an UFT-8 or ASCII character xml parser.">createIrrXMLReader</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
<a name="l00439"></a>00439 
<a name="l00441"></a>00441 
<a name="l00450"></a>00450     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReader</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#a581f4d4648398759c61266d63d7106b1" title="Creates an instance of an UFT-8 or ASCII character xml parser.">createIrrXMLReader</a>(FILE* file);
<a name="l00451"></a>00451 
<a name="l00453"></a>00453 
<a name="l00465"></a>00465     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReader</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#a581f4d4648398759c61266d63d7106b1" title="Creates an instance of an UFT-8 or ASCII character xml parser.">createIrrXMLReader</a>(<a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html" title="Callback class for file read abstraction.">IFileReadCallBack</a>* callback,
<a name="l00466"></a>00466                                                                 <span class="keywordtype">bool</span> deleteCallback = <span class="keyword">false</span>);
<a name="l00467"></a>00467 
<a name="l00469"></a>00469 
<a name="l00478"></a>00478     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReaderUTF16</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#a86473ef152c15b685af181a4c5461a5d" title="Creates an instance of an UFT-16 xml parser.">createIrrXMLReaderUTF16</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
<a name="l00479"></a>00479 
<a name="l00481"></a>00481 
<a name="l00490"></a>00490     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReaderUTF16</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#a86473ef152c15b685af181a4c5461a5d" title="Creates an instance of an UFT-16 xml parser.">createIrrXMLReaderUTF16</a>(FILE* file);
<a name="l00491"></a>00491 
<a name="l00493"></a>00493 
<a name="l00505"></a>00505     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReaderUTF16</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#a86473ef152c15b685af181a4c5461a5d" title="Creates an instance of an UFT-16 xml parser.">createIrrXMLReaderUTF16</a>(<a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html" title="Callback class for file read abstraction.">IFileReadCallBack</a>* callback,
<a name="l00506"></a>00506                                                                         <span class="keywordtype">bool</span> deleteCallback = <span class="keyword">false</span>);
<a name="l00507"></a>00507 
<a name="l00508"></a>00508 
<a name="l00510"></a>00510 
<a name="l00518"></a>00518     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReaderUTF32</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#ae05bf7ee342431ea8c98fb98e75b974a" title="Creates an instance of an UFT-32 xml parser.">createIrrXMLReaderUTF32</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
<a name="l00519"></a>00519 
<a name="l00521"></a>00521 
<a name="l00530"></a>00530     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReaderUTF32</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#ae05bf7ee342431ea8c98fb98e75b974a" title="Creates an instance of an UFT-32 xml parser.">createIrrXMLReaderUTF32</a>(FILE* file);
<a name="l00531"></a>00531 
<a name="l00533"></a>00533 
<a name="l00546"></a>00546     <a class="code" href="_irr_compile_config_8h.html#aa93137544a73eaa2563931a1e665862d" title="Set FPU settings.">IRRLICHT_API</a> <a class="code" href="classirr_1_1io_1_1_i_irr_x_m_l_reader.html" title="Interface providing easy read access to a XML file.">IrrXMLReaderUTF32</a>* <a class="code" href="_irr_compile_config_8h.html#a3f9bf2240c47d3f99b86f83f9123aa9d">IRRCALLCONV</a> <a class="code" href="namespaceirr_1_1io.html#ae05bf7ee342431ea8c98fb98e75b974a" title="Creates an instance of an UFT-32 xml parser.">createIrrXMLReaderUTF32</a>(<a class="code" href="classirr_1_1io_1_1_i_file_read_call_back.html" title="Callback class for file read abstraction.">IFileReadCallBack</a>* callback,
<a name="l00547"></a>00547                                                                         <span class="keywordtype">bool</span> deleteCallback = <span class="keyword">false</span>);
<a name="l00548"></a>00548 
<a name="l00549"></a>00549 
<a name="l00571"></a>00571 } <span class="comment">// end namespace io</span>
<a name="l00572"></a>00572 } <span class="comment">// end namespace irr</span>
<a name="l00573"></a>00573 
<a name="l00574"></a>00574 <span class="preprocessor">#endif // __IRR_XML_H_INCLUDED__</span>
<a name="l00575"></a>00575 <span class="preprocessor"></span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="irr_x_m_l_8h.html">irrXML.h</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Tue Jan 19 2016 16:08:45 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
